The present invention relates to a musical sound generator employed in computer application systems using CPU, such as electronic game machines, network karaoke apparatuses, personal computers etc., and more particularly relates to a musical sound generator capable of generating various musical sounds according to performance information.
Conventionally, in an apparatus such as a personal computer, musical sound can be reproduced by means of a specialized hardware module such as a sound source LSI and a sound source board, and by executing programs to control the installed sound source device. Recently, performance of CPU in the personal computer is remarkably improved so that the musical sound can be generated by the CPU in place of the specialized hardware module. This sort of the musical sound generation is called "software sound source" in contrast to "hardware sound source" which generates musical sound by the specific hardware. The CPU computes waveform data of musical sound according to a specific program. The quality of the sound generated by the software sound source depends upon the performance of the CPU executing the program. If the CPU has high performance, the waveform data can be computed at high speed so that a sampling frequency of the waveform data can be raised high to realize high quality musical sound generation. However, if the CPU performance is poor, it is difficult to compute the data at high speed so that the sampling frequency must be lowered. This inevitably results in poor quality of the reproduced musical sound.
From system to system, there is a wide variety in the configuration of the application systems such as the personal computer, with respect to installation of optional devices. Generally, the optional device includes a hard disk, a video card etc., in broader meaning. However, in the present invention, the optional device means an externally connectable device involved in the musical sound generation. It should be noted that the processing ability of the CPU may be different in various system configurations. Further, in a situation where an application program to generate sound and another application program to execute other jobs are simultaneously invoked in parallel, a load of the CPU may vary dependently on the running status of the programs and on the status of tasks currently executed in the system. In this fashion, the effective processing power of the CPU may vary in the same system. Thus, a user must rearrange basic setup for the sound generation whenever an environment of the system is changed, and that is very laborious. In such systems, the user cannot recognize whether the sound is not generated correctly in a current configuration setup, until any miss and skip of tone occurs at the actual reproduction of the sound. In other words, it is impossible to evaluate whether the system configuration is reasonable until the sound is actually reproduced. Further, no matter how high the CPU performance is, an external sound generation hardware may be utilized in many cases according to the user's desire in practical use of the hardware resource. In such cases, full use of the hardware sound source may cause a problem that it is impossible to generate a sound surpassing the limitation of the facility of the sound generation hardware. A variety of tones cannot be reproduced. A number of timbre kinds cannot be increased even if there is a sufficient processing power in the CPU.